import type { FUniver } from '@univerjs/facade'

let canEditWorkbook = true

/**
 * 设置工作表的可编辑状态切换按钮
 *
 * 此函数创建一个按钮并添加到工具栏，该按钮用于切换当前工作表的可编辑状态
 *
 * @param $toolbar 工具栏的HTML元素
 * @param univerAPI Univer API实例，用于操作Univer表格
 */
function setupSheetEditableSwitch($toolbar: HTMLElement, univerAPI: FUniver) {
  // 创建一个按钮元素
  const $button = document.createElement('a')
  // 设置按钮的文本内容
  $button.textContent = '切换可编辑状态'
  // 将按钮添加到工具栏中
  $toolbar.appendChild($button)

  // 监听按钮的点击事件
  $button.addEventListener('click', () => {
    // 获取当前活动的工作簿
    const activeWorkbook = univerAPI.getActiveWorkbook()
    // 如果无法获取活动工作簿，则抛出错误
    if (!activeWorkbook)
      throw new Error('activeWorkbook is not defined')

    // 切换可编辑状态
    canEditWorkbook = !canEditWorkbook
    activeWorkbook.setEditable(canEditWorkbook)
    console.log('canEditWorkbook', canEditWorkbook)
  })
}

export { setupSheetEditableSwitch }
